#   判断字符串是否是合法的标识符
s = 'abc*'
s2 = 'abc_11'
s3 = '_11sfds'
s4 = '11_ss'
s5 = '11ad_'
s6 = 'sds22_'
print(s, '合法？', s.isidentifier())  # False
print(s2, '合法？', s2.isidentifier())
print(s3, '合法？', s3.isidentifier())
print(s4, '合法？', s4.isidentifier())  # False
print(s5, '合法？', s5.isidentifier())  # False   标识符第一个字符不能是数字
print(s6, '合法？', s6.isidentifier())
#   判断是否是由空白字符组成
print('1.', '\t\n\r'.isspace())  # True  水平制表符，换行，回车
#   判断是否全部由字母组成
print('2.', 'advf'.isalpha())  # True
print('3.', '张三sds'.isalpha())  # True   说明汉字被认为是字母
print('4.', '张三2'.isalpha())  # False
#   判断是否全部由十进制数字组成==必须是阿拉伯数字
print('5.', '123'.isdecimal())  # True
print('6.', '123四'.isdecimal())  # False
print('7.', 'ⅠⅡ'.isdecimal())   # False
#   判断是否全部由数字组成==可以是汉字中的数字，罗马数字，序号
print('8.', '123'.isnumeric())     # True
print('9.', '123贰佰千万'.isnumeric())   # True
print('10.', 'ⅠⅡ'.isnumeric())   # True
print('11.', '①②'.isnumeric())   #  11. True
print('12.', 'sds098yi'.isnumeric())    #   12. False
#   判断是否由数字和字母组成
print('13.', 'abc123'.isalnum())    # True
print('14.', '张三一二232'.isalnum())   # True
print('15.', 'abc!'.isalnum())  # False

